=========================================================================== 【ソ フ ト名】 アニメーション及び bmp 表示 (Display Bitmap version 8.00) 【登 録 名】 DSPBM800.LZH 【検索 キー】 1:DSPBMP 2:$WIN16 3:#UTY 4:#VISUAL 【著作権 者】 SAK (GBH05510) 【対応 機種】 WINDOWS V3.1 later (i486 以上の CPU) 【動作 確認】 IBM PS/V PS/55Z30U MITAC 4060G NEC PC-9801DA改 【開発 言語】 Borland C++ for Windows 4.02 【掲 載 日】 1994.10.24 【作成 方法】 LHA にて解凍を行う。 A> LHA E DSPBM800 (リターン) 【ソフトウェア種別】 フリーソフトウェア 【転載 条件】 転載するときは、事前に SAK へメールを下さい。 =========================================================================== 1994.10.24 Y.SAK アニメーション及び bmp 表示について どもども、ダウンロードありがとうこざいます。(^^) あたしは、普通のビットマップ(bmp)や圧縮ビットマップ(bcs)でアニメーション を表示します。 アニメーションの方法には、 ◎タイマ使用による自動アニメーション ◎Windows のすべてのマウスクリックによるアニメーション ◎壁紙としてアニメーション があります。 もちろん、ただの、ビットマップビュアー(bmp bcs)としても使用できます。 圧縮ビットマップの表示も、瞬間解凍のため超高速です。 (時間指定の連続表示機能もあります。) ■バージョン 7.92 から 8.00 での変更点 ◎フルカラービットマップ対応。(表示については 64K 色以上の表示能力がな いと正しく行われません。) ◎ディスプレイモードが 64K 色のとき、クリップボードコピー及び、Msk_Mag 機能が動作不能になるのを修正しました。また、64K 色モードにおける RGB の誤差を吸収するために Msk_Mag コマンドに range パラメタを追加しまし た。(Bca.txt 参照) ◎メインウィンドウフレームの幅を ini ファイルで指定できるようにしまし た。 ◎Borland C++ for Windows 4.02 で 486 オプションでコンパイルしました。 (486SX 以上の CPU でないと動作できません。) 表示できる形式は、 ◎Windows 3.0 のビットマップ ◎Condense Bitmap で Type 1 圧縮された拡張子が bcs のビットマップ ◎Condense Bitmap で Type 2 圧縮された拡張子が bcs のビットマップ ◎拡張子が bca のアニメーション定義ファイル ◎拡張子が bwa の壁紙アニメーションファイル ◎拡張子が bac のアニメーション制御ファイル です。 アニメーションの記述 bca bwa bac は、単なるテキストファイルなので、どな たにも簡単に作成できます。(構文説明添付) 表示については、 ◎等倍 ◎拡大 ◎自動(ウィンドウサイズによって拡大、縮小) を選択できます。 自動表示のみ、アニメーションは一時停止します。 Display Bitmap (DspBmp.exe) のアニメーション定義 (Bca) では、ベースビッ トマップとオフセットビットマップを使用したアニメーションの定義ができます。 拡張子を bwa とすると壁紙アニメーションになります。 アニメーションは、 ◎タイマを使用した通常アニメーション ◎Windows のすべてのマウスクリックに反応してアニメーション のどちらかを選ぶことができます。 Display Bitmap (DspBmp.exe) のアニメーション制御 (Bac) では、制御構造を 利用して、 ◎bmp bcs bca pca ファイルの表示 ◎選択メッセージの表示による分岐 ◎マウスクリックによる分岐 ◎セーブデータによる分岐 ◎ini ファイルの更新 ◎ファイルのコピー ◎ファイルの圧縮 などができます。 ■パッケージリスト ◎DspBmp .txt この説明書です ◎Bca .txt アニメーション定義ファイル構文説明書 ◎Bac .txt アニメーション制御ファイル構文説明書 ◎DspBmp .exe アニメーション及び bmp 表示プログラム本体 ◎DspBmp .ini 初期化ファイル ◎DspBmp .hlp ヘルプファイル ■インストールの方法 ◎DspBmp.exe DspBmp.ini DspBmp.hlp を できればパスの設定されているディレクトリにコピーして下さい。 ◎パスの設定がないディレクトリにインストールした場合は、そのディレクト リから起動しないと ini hlp ファイルが見つけられません。 ■アニメーションデータ 現在、次のアニメーションデータを FWINMM LIB 6 に掲載していますので、 よろしければダウンロードしてご覧になって下さい。(SAKBAC11.LZH だけは、 Bac のサンプルとなっており、画像データではありません。) ◎CS_BOD10.LZH BCS:ボディコンお姉さんのアニメション ◎CS_MIZ10.LZH BCS:水着ギャルの壁紙アニメーション ◎CS_BUN10.LZH バニーガールさんの アニメーション ◎CS_MEG10.LZH すべてのクリックに反応するお嬢 ◎CS_MIN11.LZH ミニスカお姉さんの アニメーション ◎SAKSMP11.LZH まばたきする女の子でーす... ◎SAKBCA11.LZH 南の島のアニメーション夜景 ◎SAKBAC11.LZH DspBmp 用 Bac サンプル ■使用方法 ◎詳細はヘルプ、Bca.txt、Bac.txt を見て下さい。 ■アニメーションデータの作り方 ◎ペイントブラシなどで、ベースとなるビットマップをまず作成します。 ◎続いて、目とか口の形をかえて名前を変えてどんどん保存していきます。 (同一パレットになるようにして下さい。) ◎CndBmp でベースとなる bmp を全体圧縮保存します。拡張子は標準で bcs ですが bca bac pca 以外なら別になんでもかまいません。 (オリジナルのビットマップのままでもかまいませんが、その場合は、オフ セットアドレスの設定ができないので全画面アニメーションとなります。) ◎CndBmp でアニメーション bmp を読み込んで アニメーション部分だけを範 囲選択して [Options]-[範囲記憶]-[相対記憶] します。(これで 0,0 を基 準とした相対座標がセットされます。) 後は、[File]-[名前を付けて圧縮...] で拡張子に e01 とかを指定して圧縮 します。 尚、同じ位置の e02 とかを作る時は、[Options]-[範囲呼出]-[相対呼出] で圧縮範囲と相対座標を簡単にセットできます。 また、ベースそのものを範囲選択してベースにしたときには、その範囲を [Options]-[範囲記憶]-[基準記憶] しておきます。 そうするとオフセットビットマップを作るときに [Options]-[範囲呼出]-[ 基準呼出],[Options]-[範囲呼出]-[相対呼出]とすることによって、設定さ れた基準からの相対座標をセットすることができます。(これは、ちょっと じゃまくさいのでベースとなるビットマップは全体圧縮できるように作成し たほうがいいでしょう。) ◎メモ帳などで bca ファイルを作ってテスト動作させてみれば OK です。 ■困ったときのオフセット座標調整 オフセットビットマップの範囲指定圧縮はちゃんとできたけれど、座標の設定 に失敗したときなどは、次の方法で調整すると便利です。 ◎オフセット座標を調整したい bcs (e01 とか) を CndBmp でオープンします。 ◎続いて、DspBmp でベースビットマップをオープンします。 ◎さらに、DspBmp で CndBmp でオープンしたオフセットビットマップをマー ジでオープンします。 ◎DspBmp で Shift + カーソルキー または、Shift + Ctrl + カーソルキーで オフセットビットマップが移動しますので、希望の位置で最後に Shift キ ーだけを押します。(Ctrl キーが押されていると 8 ドット単位で移動。) ◎これで、CndBmp の相対座標が自動的にセットされますまで、そのまま再圧 縮すれば OK です。 ■Display Bitmap 関連プログラム ビットマップの圧縮、アニメーション用オフセット座標を設定するには、 CndBmp.exe が必要です。また、圧縮された bcs ファイルを bmp に戻すには、 RstBmp.exe を使用します。 CmpFile.exe は、DspBmp.exe の bac で Cnd_File Rst_File コマンドを使用 するとき必要となります。 ◎Display Bitmap (DspBmp .exe) DSPBM800.LZH アニメーション及び bmp 表示 ◎Condense Bitmap (CndBmp .exe) CNDBM650.LZH ビットマップを圧縮します ◎Restore Bitmap (RstBmp .exe) RSTBM510.LZH 圧縮ビットマップを復元 ◎Compress File (CmpFile.exe) SAKBAC11.LZH DspBmp 用 Bac サンプル ■Condense Bitmap の圧縮方法について CndBmp.exe では、Type 1 と Type 2 の圧縮方法が選択できます。 通常は、Type 2 で圧縮して問題ないですが、Type 2 で圧縮したものは、LHA でほとんど圧縮できません。(Type 1 は LHA で 50% 程度圧縮できます。) 最終的に LHA で圧縮する場合には、Type 1 限定で圧縮しておいた方が良いこ ともあります。 ◎Type 1 は、イラストなどの単純なもの専用です。ちょっと、複雑になると 弱いです。 ◎Type 2 は、複雑になるほど強いです。逆に、単純なものには弱いです。 (ほとんどは、こちらを使用下さい。) ◎AUTO は、Type 1 と Type 2 のどちらか圧縮率の高かった方で圧縮します。 (圧縮に時間がかかります。) ■補足事項 ◎フルカラービットマップの表示に関しては 64K 色以上の表示能力がないと 正しく行われません。 また、写真などのフルカラービットマップの圧縮では期待した効果が得られ ません。 ◎DspBmp.exe を複数起動したとき、アニメーション部分のバレットが変にな ることがあります。この場合、対象ウィンドウをアクティブにすると直るこ ともあります。アクティブにしても直らないときは、bca を再オープンする しか手がありません。(原因不明です。) ◎壁紙アニメーションを行う場合は、通常の壁紙でシステムパレット以外のビ ットマップを指定しないようにして下さい。 壁紙アニメーションは複数起動可能ですが、サブクラスコントロールの関係 で最後に起動した DspBmp からクローズしていかないと Windows システム が間違いなくフリーズします。 また、通常の表示とは異なり、同一ウィンドウで複数の可変パレット処理は 行えないということからも壁紙アニメーションの複数起動はお勧めできませ ん。(こんなこともできるというレベルです。) ◎メインウィンドウフレームの幅を変更する場合は、RstBmp.ini で、 [SAK FRAME] size=12 のように設定して下さい。 尚、size=0 を指定するとシステムフォントの高さでフレームを表示します。 ◎メモリ上の問題が発生した場合は、DspBmp.ini に [GlobalMemory] compact=yes を追加して下さい。 この記述を定義すると DspBmp の起動時にメモリの整理が行われます。 (起動に少し時間がかかるようになります。) ◎OS/2 のビットマップは、うまく扱えません。 ◎256 色以上の表示能力がないと、かなしいものがあります。 ■免責事項 こういうのはあまり書きたくなかったのですが、もしものことを考慮して明記 しておきます。 ◎このプログラムを使用して発生した、いかなる形での損害も私こと SAK は 一切責任を負いません。 なにかありましたら、SAK (NIFTY ID: GBH05510) へメールを下さい。 以上